package com.iplant.basic.service.bpm;

import com.iplant.base.po.Pagination;
import com.iplant.base.po.ServiceResult;
import com.iplant.basic.service.basicenum.bpm.BPMEventModule;
import com.iplant.basic.service.po.bms.BMSEmployee;
import com.iplant.basic.service.po.bpm.BPMTaskBase;

import java.util.List;
import java.util.Map;

public interface BPMTaskService<T extends BPMTaskBase> {
    ServiceResult<T> BPM_QueryDefaultTask(BMSEmployee wLoginUser, int wTaskID, int wEventID);

    ServiceResult<T> BPM_CreateTask(BMSEmployee wLoginUser, BPMEventModule wEventID);

    ServiceResult<T> BPM_SubmitTask(BMSEmployee wLoginUser, T wData);

    ServiceResult<T> BPM_GetTask(BMSEmployee wLoginUser, int wID);


    ServiceResult<List<T>> BPM_QueryEmployeeAllWeb(BMSEmployee wLoginUser, Map<String,
            Object> wParams, Pagination wPagination);
    Class<T> GetTClass();

}
